Automatic configuration of multiple monitor systems

ABSTRACT

Control of multiple display screens associated with a computer, wherein the auxiliary screen display content that depends on conditions of the computer. During some times the auxiliary screen displays content associated with the presently executing program, and during other times the auxiliary screen displays history information. The rules can be automatically changed or manually changed.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.13/540,798 filed Jul. 3, 2012, which is a continuation of Ser. No.11/775,868 filed Jul. 11, 2007, now U.S. Pat. No. 8,212,740 issued Jul.3, 2012, which is a continuation of U.S. application Ser. No.09/09/569,816, filed May 12, 2000, now U.S. Pat. No. 8,089,423 issuedJan. 3, 2012, the contents of each of which are incorporated byreference herein in their entireties.

BACKGROUND

Modern operating systems may allow operation with multiple displayscreens. Windows 98, for example, allows two different display cards tobe used in the system, each display card running an associated display.

SUMMARY

The present application defines automatic arranging of the content onmultiple display screens. The arranging is “intelligent” in the sensethat the arrangement on the screens depends on environment and/orhistory in a way to provide meaningful content to the user. The contentis variable depending on conditions. In an embodiment, the system learnspreferences from previous operations. For example, rules can be appliedbased on a user's previous settings for a condition.

A specified condition can include its own set of rules.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other aspects will now be described in detail with respect tothe accompanying drawings, wherein:

FIG. 1A shows a view of hardware in which a single computer includes twoseparate display screens;

FIG. 1B shows hardware with three display screens;

FIG. 2 shows a configuration in which a remote connection is used toform a multiple screen display system;

FIG. 3 shows multiple items of screen information;

FIG. 4A-4B shows multiple items of screen information;

FIG. 5 shows a flowchart of preferences;

FIGS. 6A-6B shows frames displayed in one or multiple screens;

FIG. 7 shows customization features; and

FIG. 8 shows the rules; and

FIG. 9 shows a flowchart of manual operation.

DETAILED DESCRIPTION

FIGS. 1A and 1B show computer systems with multiple display screens.FIG. 1A has two separate computer screens 105, 110. The computer 100 canbe a single-processor computer with two different display drivers 102,104, driving the two different display screens 105, 110. The two displaydrivers can be part of the computer, or can be separate display cards.Alternately, the two display drivers can be on a single display card.Each display driver drives the separate display screen. The computer canalso be a multiple processor computer. The operating system can assignthreads to the two processors such that each one processor handles thedisplay for a different one of the screens. This is most advantageouslyaccomplished by including the display drivers on the motherboard itself.However, it can also be accomplished on the PCI bus, e.g. by using PCIbridges in which the PCI bus is periodically controlled by alternateprocessors. The operating system controls the two display devicesaccording to the description given herein.

FIG. 1B shows an alternative layout, in which three screens 120, 125,130 are driven by the computer 100. The screens are arranged with onescreen flat in front of the user, and two others at angles to the user.

An alternative computer system with multiple display screens is shown inFIG. 2. In this system, the computer 200 with display 205 is connectedover remote connection 210 to second computer 220 with its own displayscreen 225. The remote connection can be for example by Ethernet, by afast Internet connection, or the like. The remote connection can also bea docking station, e.g. when one of the computers is a laptop and theother is a docking computer. The remote connection can also be byBluetooth, Firewire USB or any other bi-directional communicationsystem. The information to be displayed on the second computer is sentover the remote connection to the second computer. One additionaladvantage of this system is that the second computer can also have asound card and all other peripherals. This enables even more informationto be output, e.g. sound from two applications.

The present application is disclosed in the context of a Windows™ typeoperating system in which multiple windows of information can be open atonce. Other operating systems can alternatively be used. The operatingsystem controls the screens as described herein.

FIG. 3 shows the screen information to be displayed on the screens. Thecontrol of the display is carried out by the operating system. A mainscreen 300 is shown in the middle with the auxiliary screen 305 shown onthe right. A third screen 310 is shown on the left. This wouldadvantageously place the main screen in the middle, with the auxiliaryscreens surrounding the main screen. A two screen environment, however,is contemplated.

The contents of the main screen is defined as usual—as the main or focusscreen. The alternative screens 305 and 310 change content based onconditions. The conditions can include the software that is runningand/or the software that has run in the past.

Screen 305 shows a content control menu 306. The AUTO setting is thedefault setting for the screen, but other options can be selected. Thecontent control part can be caused to automatically hide when it is notbeing used. Placing the cursor over that spot thereafter causes thecontent control to reappear.

The “auto” setting operates according to a flowchart of preferencesindicating the content that the alternative screens will display basedon the computer's condition and a previous operation, the “history”. Theuser can also select to override the automatic operation as disclosedherein. These preferences effectively form “rules”.

Manual operations are also available.

The WINS option causes the auxiliary screen to display reduced versionsof all inactive windows as shown in FIG. 4A. FIG. 4A shows all of thecurrently active windows, including for example Word™ 402 showing a Worddocument. The most currently-obtained Word document is shown in front,with other Word documents 404 behind it.

Therefore, the current focus screen is shown in the main screen 300,while the auxiliary screen 305 shows the FIG. 4A view. FIG. 4A alsoshows the e-mail program 410, a web browser 415 and a hotkey area 420.The hotkey 420 can be a location which enables selection of specifiedprograms which are assigned to the hotkey.

The HISTORY configuration is shown in FIG. 4B. The HISTORY alternativebrings back a historical list of items, e.g. “documents” which werepreviously opened. While FIG. 4B shows only four such documents, itshould be understood that miniaturized versions of many more documentscould be provided. FIG. 4B shows the first item 425 being the lastdocument that was opened. Prior to that, the user was editing a seconddocument “doc 2” which is shown as 428. The browser 432 is shownbrowsing site no. 1, and 434 represents a notepad document for example.

Another alternative which can be selected is the desktop, in which theuser always sees their DESKTOP in auxiliary screen 305. Otheralternatives, not specifically disclosed herein, are also possible.

When the auto selection is selected, the operating system automaticallyselects which of the multiple modes will appear on the auxiliary screen.This automatic mode configures the auxiliary screen 305 to automaticallyprovide content which is most likely to be the content that is mostuseful to the user under the conditions. The content can also be basedon choices made by the user during a previous operation.

The operation progresses as shown in FIG. 5. This occurs according to aflowchart of preferences in which the system first determines variousthings about the operation and configures the screens accordingly.

At 500, the system first determines if the application is a type whichcan be displayed on multiple screens without adaptation, e.g. amulti-screen enabled game or application is displayed on the screens asdescribed herein. If so, the content is displayed on the multiplescreens at 502.

If 500 is negative, the operation moves to 505 which detects a webbrowser operation. If a browser is active at 505, the system firstdetermines if the browser is reading a page which has multiscreen-capable-frames. Multi-screen frames allow display in either onescreen or multiple screens. FIG. 6A shows all of the frames aredisplayed on a single screen. FIG. 6B shows the same content whenoperating in a multi-screen paradigm at 508. Each frame can be displayedon a separate screen.

If the web browser detects that the current system is not a specialmulti-screen enabled frame, then the current page is simply displayed onthe main screen 300, and the auxiliary screen 305 is then configured toreceive the last web page that was opened at 509. In this way, thesystem displays the current page, and the last page. When the system isoperating in this latter mode, it becomes possible to flip screens.Therefore, a special hotkey 392 is displayed on the main screen in an“always on top” mode. If this portion is actuated by a click, then themain and previous screens are switched. At 515, no browser has beendetected, so the system determines if an application is running.Different applications are defined, for example in the windows registry.The present application discusses two such applications, a wordprocessing program such as Microsoft Word, an e-mail program and a webpage production program such as “Front Page”. These different optionsare shown in steps 520, 525 and 530 respectively.

In the word processing program, the main screen displays the currentlyactive document, while the auxiliary screen display previously openeddocuments at 522. The previous documents may be displayed in miniatureform (like FIGS. 4A-4B), or may be displayed in full size. If no lastdocument is available, that is if the word processing program is workingon only one document, then the screen represents the last window. If nolast window is available, then the screen shows the desktop.

Analogously, in an e-mail program at 525, the main screen showing thelist of available e-mail or current open e-mails is first displayed. Atthis time, the auxiliary screen display, in order of preference, thelast e-mail screen worked on, if not, the last window displayed, and ifnot the desktop at 525.

The development program, here a web page development program at 530,displays the main control and the main screen on the main screen 300 at532. The auxiliary screen shows other web pages which are linked to themain web page. If no such pages have yet been formed, the auxiliaryscreens can show other hidden toolbars and help screens.

In this way, the user need not configure the multiple screens. Ratherthey are automatically configured for the user based on data about whatthe user might want.

While this system provides preferences, it should be understood that theuser may have their own preference that differs from the presets. Thesystem provides a customization feature. However, it is understood thatreal customization features are usually only fully utilized by so calledpower users. Therefore this system provides both a direct customizationfeature, and also a context-imitating customization feature. The realcustomization feature is shown in FIG. 7. In this Figure, the user canselect and write “rules” for customizing the screen usage. For example,as shown, the “If” content at 700 has a pull down menu at 705 listingthe different applications in the registry. The applications may includeweb browser, e-mail programs, word processing programs, and genericsettings. More specific settings for different specific programs caninclude Word™, Outlook™ and the like. For each of these programs, theuser can select various options from the “then” in 710. The currentselection (e.g. the usual default) is shown in the pop-up list at 715.The default can be from any of the options discussed above or any otherpossible option. The “else” options specify what to do if the specifiedcontent is not available.

In addition, the rule-based interface enables different operations atdifferent times. For example, as shown, the user can specify anadditional “If” 718. For example, if more than four documents are open,then use the alternative screen in a different way than it would be usedif 3 or fewer documents are open. A priority 730 is also set, todetermine how to handle multiple rules. The priority sets the order ofexecution of the rules.

Each of these preferences is then compiled into a plurality oftext-based rules shown in FIG. 8. The rules are of the general form ifX, and Y, or Z (conditions), then alternative screen=option (results).These text based rules may be used directly as the rules for determiningwhat to display on the extra screen, or alternatively they can becompiled into some machine readable form.

The rules are assembled based on their priority. Each time a rule iscompleted, the go button 740 is executed. This rule is then added to theend of the list for that priority assigned to that rule. For example,FIG. 8 shows the priority 1 rules 800 including rules 805 and like. If anew priority 1 rule is executed, that priority 1 rule is added to theend of the existing priority 1 rules at the location 810. Similarly,there is a location for priority 2 rules, priority 3 rules and the like.Any of the rules can be selected as shown in FIG. 8, selecting the rules815. Once the rule 815 is selected, a menu is displayed including theability to edit the rule or other operations which can occur on therule. Editing the rule brings up the screen of FIG. 7, enabling the ruleto be edited to change its priority, its actions, or any other part ofthe rule. The rule can also be deleted, paused or any other option.Another useful option is DEFAULT which sets this rule as the defaultrule for the “If” condition associated with that rule, and MAKEUNCHANGEABLE which prevents context automatic formation from changingthe rule in the future.

The rules are shown above as editable using pull down boxes ofalternatives. However, the rules can alternatively be plain text typerules, e.g., using Visual Basic or other comparable programminglanguage. The rules can also be written as part of a registry file,e.g., the WINDOWS™ registry. Any form of rule which has conditions andresults can be used.

In addition to the manual editing of the rules, the rules can beautomatically formed and/or changed by context type automatic formation.Each time a window is displayed, the user has the capability to overridethe current contents of that window. This can be done using the menu306, for example. The flowchart effecting that manual operation is shownin FIG. 9.

A change is detected at 900. Once the change is detected, the conditionsof the change are detected at 905. That is, a currently runningapplication is detected and all Ifs associated with that currentlyrunning application are pulled up. A determination is then made aboutwhether the current condition represents the currently active conditionassociated with “Then”, or one of auxiliary “Elses”. At step 910, thesystem executes the new display condition. This is done by accepting theoperation executed in the menu. At step 915 the rule is changed toindicate the new preferences. Of course, this possibility can beoverridden. If no rule is found at 905, then a new rule of priority 5 isformed at 920.

Other modifications are contemplated. For example, other forms could beused to express the rules and the preferences. While this system isdisclosed for use in editing rules for display, it should be understoodthat the selectable form of if-then-else that is described for settingpreferences could be used for other preference setting operations, suchas in the Windows registry or other comparable preference setting parts.All such modifications are intended to be encompassed within thefollowing claims.

What is claimed is:
 1. An apparatus comprising: a first computerincluding a processor, a memory, at least one application running on thecomputer and an operating system running on the computer, a firstdisplay, and a first sound producing device; a second computer havingits own processor and memory, running applications, having a seconddisplay, and a second sound producing device; said second computerconnected to receive information from said first computer over aconnection, said operating system operating to automatically displaycontent associated with a currently running program on said firstdisplay, and to send information over said connection to display contenton said second display associated with said currently running program onsaid second display in a first mode of operation, and in a second modeof operation to automatically display, on said second display, secondspecified content associated with a previous history of said computer,previous to running said currently running program; and wherein saidmemory in said first computer stores computer-based rules, which rulesdefine that if a first condition occurs that indicates that thecurrently running program is capable of being displayed on multiplescreens, then said first mode is established and outputs of saidcurrently running program are displayed on both said first display andsaid second display, in a way that allows interacting with parts of saidapplication that are displayed on said first display, and alsointeracting with parts of said application that are displayed on saidsecond display, and if a second condition occurs that indicates that thecurrently running application is not capable of being displayed onmultiple screens, then said second mode is established and said secondspecified content is displayed on said second screen, where said secondspecified content is not information from the currently running program,where said operating system operates said first and second modesaccording to computer-based rules, and allows a user to change contentof the displays by a manual operation.
 2. The apparatus as in claim 1,wherein said operating system programmed for and operating forautomatically making new rules when the user changes a content of thescreens for said manual operation.
 3. The apparatus as in claim 1,wherein said rules specify a priority of which among said previouslyrunning programs is displayed on said second display.
 4. An apparatus asin claim 1 wherein said second specified content on said second screenrepresents miniature versions of multiple different windows which arerunning on said computer, said multiple different windows that aredisplayed on said second screen being windows that represent onlyinactive windows other than an active window associated with said firstscreen.
 5. A method, comprising: detecting applications which arerunning on a computer; using conditions, including both saidapplications which are running and preset preferences, to automaticallycontrol a content which is displayed on both a main screen and at leastone auxiliary screen associated with the computer, operating in a firstmode in which content on the auxiliary screen includes contentassociated with said main screen and in which said content on saidauxiliary screen is different than the content on the main screen, andoperating in a second mode in which said auxiliary screen includescontent associated with a previous operation of the computer that is notconnected with said content being displayed on said main screen, saidoperating in said first or second mode depending on said conditions thatincludes both said applications which are running and said presetpreferences; and storing computer-based rules specifying saidconditions, which rules define that if a first condition occurs, then aspecified content should be displayed on the auxiliary screen, and usingthe computer to execute said rules to define said content for saidauxiliary screen.
 6. A method as in claim 5 wherein said definingcomputer based rules defines a plurality of computer-based rules havingconditions and results, which rules define that if a first conditionoccurs, where said first condition is that a computer is currentlyexecuting an application that is multiple screen enabled and can displaydifferent information on different screens, then said application isdisplayed on both the main screen and on the auxiliary screen as firstspecified content, and that if a second condition occurs, where saidsecond condition indicates that said application is not multiple screenenabled, then a second specified content, different than the firstspecified content, is displayed on said auxiliary screen, where thesecond specified content that is displayed when the second condition ispresent, is not associated with said application.
 7. A method as inclaim 5 wherein said preferences include a history content, which showsa previously running operation in the auxiliary screen which includescopies of all open but inactive windows other than said content on themain screen, said copies being reduced size copies.
 8. A method as inclaim 5, further comprising an operation which allows a user to overridesaid preferences and define specific content to be displayed on bothsaid main screen and said auxiliary screen.
 9. The method as in claim 5,wherein said defining specific content automatically changes said rulesto display said specific content on both said main screen and saidauxiliary screen at time subsequent to the automatically changes.
 10. Amethod as in claim 5 further comprising associating both said mainscreen and said auxiliary screen with a single computer.
 11. A method asin claim 5 further comprising associating said main screen and saidauxiliary screen with separate computers and connecting said computersby a computer connection protocol.
 12. A computer system comprising: aprocessor, running an operating system in which multiple programs aresimultaneously open, each said program having information and producingoutput results when active, said processor producing outputs thatcontrol both at least a main screen and an auxiliary screen, separatefrom the main screen; said operating system controlling said multipleprograms and defining a currently active program, according to aplurality of computer-based rules having conditions and results whichrules define that if a first condition occurs, then said currentlyactive program is automatically displayed on both the main screen andalso on the auxiliary screen in a way that allows interacting with partsof said currently active program that are displayed on said main screen,and also interacting with parts of said currently active program thatare displayed on said auxiliary screen, where said first condition isthat the currently active program is multiple screen enabled and candisplay different information on different screens including at least amain screen and an auxiliary screen, said operating system controllingsaid multiple programs, according to said plurality of computer-basedrules having conditions and results which rules define that if a secondcondition occurs, where said second condition indicates that saidcurrently active program is not multiple screen enabled, then a secondspecified content, different than said currently active program isautomatically displayed on said auxiliary screen, where the secondspecified content that is displayed when the second condition isdetermined, is not part of said currently active program; and saidcomputer operating to execute said computer-based rules to automaticallydetermine the content of the auxiliary screen; said computer allowing auser to change a content of the auxiliary screen; and said computerautomatically changing the rules when a user changes the content of theauxiliary screen such that subsequent operations after said userchanging the content of the auxiliary screen use changed rules that takeinto account the user having changed the content of the auxiliaryscreen.
 13. The computer system as in claim 12 wherein said secondspecified content includes content that is selected according to ahierarchy.
 14. The computer system as in claim 13, wherein the changingof content on the auxiliary screen comprises putting content on theauxiliary screen which is different than that specified by thehierarchy, and the changed rules specify a new hierarchy based on theuser having changed the hierarchy.
 15. The computer system as in claim14, wherein the hierarchy uses information indicative of which programwas most recently run.
 16. The computer system as in claim 14, whereinthe hierarchy uses information indicative of how many instances of aprogram are running.
 17. The computer system as in claim 12, wherein thecomputer detects whether a preference of said computer has been set toautomatic or manual, and sets a content of the auxiliary screendependent on said conditions if said preference is set to automatic, andwhen said preference is set to automatic, using the computer-based rulesto automatically determine the content on said auxiliary screen.
 18. Thecomputer system as in claim 12, wherein both said main screen and saidauxiliary screen are connected to a single computer.
 19. The computersystem as in claim 12, wherein said main screen and said auxiliaryscreen are associated with separate computers and connected saidcomputers by a computer connection protocol.